home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-11-30 | 10.7 KB | 263 lines | [TEXT/MPS ] |
- {
- File: HyperXCmd.p
-
- Copyright: © 1983-1993 by Apple Computer, Inc.
- All rights reserved.
-
- Version: System 7.1 for ETO #11
- Created: Tuesday, March 30, 1993 18:00
-
- }
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT HyperXCmd;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingHyperXCmd}
- {$SETC UsingHyperXCmd := 1}
-
- {$I+}
- {$SETC HyperXCmdIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$IFC UNDEFINED UsingEvents}
- {$I $$Shell(PInterfaces)Events.p}
- {$ENDC}
- {$IFC UNDEFINED UsingTextEdit}
- {$I $$Shell(PInterfaces)TextEdit.p}
- {$ENDC}
- {$IFC UNDEFINED UsingMenus}
- {$I $$Shell(PInterfaces)Menus.p}
- {$ENDC}
- {$IFC UNDEFINED UsingStandardFile}
- {$I $$Shell(PInterfaces)StandardFile.p}
- {$ENDC}
- {$SETC UsingIncludes := HyperXCmdIncludes}
-
- CONST
- { result codes }
- xresSucc = 0;
- xresFail = 1;
- xresNotImp = 2;
-
- { XCMDBlock constants for event.what... }
- xOpenEvt = 1000; { the first event after you are created }
- xCloseEvt = 1001; { your window is being forced close (Quit?) }
- xGiveUpEditEvt = 1002; { you are losing Edit... }
- xGiveUpSoundEvt = 1003; { someone else is requesting HyperCard's sound channel }
- xHidePalettesEvt = 1004; { someone called HideHCPalettes }
- xShowPalettesEvt = 1005; { someone called ShowHCPalettes }
- xEditUndo = 1100; { Edit——Undo }
- xEditCut = 1102; { Edit——Cut }
- xEditCopy = 1103; { Edit——Copy }
- xEditPaste = 1104; { Edit——Paste }
- xEditClear = 1105; { Edit——Clear }
- xSendEvt = 1200; { script has sent you a message (text) }
- xSetPropEvt = 1201; { set a window property }
- xGetPropEvt = 1202; { get a window property }
- xCursorWithin = 1300; { cursor is within the window }
- xMenuEvt = 1400; { user has selected an item in your menu }
- xMBarClickedEvt = 1401; { a menu is about to be shown--update if needed }
-
- xShowWatchInfoEvt = 1501; { for variable and message watchers }
- xScriptErrorEvt = 1502; { place the insertion point }
- xDebugErrorEvt = 1503; { user clicked "Debug" at a complaint }
- xDebugStepEvt = 1504; { hilite the line }
- xDebugTraceEvt = 1505; { same as step but tracing }
- xDebugFinishedEvt = 1506; { script ended }
-
- paletteProc = 2048; { Windoid with grow box }
- palNoGrowProc = 2052; { standard Windoid defproc }
- palZoomProc = 2056; { Windoid with zoom and grow }
- palZoomNoGrow = 2060; { Windoid with zoom and no grow }
- hasZoom = 8;
- hasTallTBar = 2;
- toggleHilite = 1;
-
- maxCachedChecks = 16; { maximum number of checkpoints in a script }
-
- { paramCount is set to these constants when first calling special XThings }
- xMessageWatcherID = -2;
- xVariableWatcherID = -3;
- xScriptEditorID = -4;
- xDebuggerID = -5;
-
- { XTalkObjectPtr^.objectKind values }
- stackObj = 1;
- bkgndObj = 2;
- cardObj = 3;
- fieldObj = 4;
- buttonObj = 5;
-
- { selectors for ShowHCAlert's dialogs (shown as buttonID:buttonText) }
- errorDlgID = 1; { 1:OK (default) }
- confirmDlgID = 2; { 1:OK (default) and 2:Cancel }
- confirmDelDlgID = 3; { 1:Cancel (default) and 2:Delete }
- yesNoCancelDlgID = 4; { 1:Yes (default), 2:Cancel, and 3:No }
-
-
- TYPE
- XCmdPtr = ^XCmdBlock;
- XCmdBlock = RECORD
- paramCount: INTEGER; { If = -1 then new use for XWindoids }
- params: ARRAY[1..16] OF Handle;
- returnValue: Handle;
- passFlag: BOOLEAN;
-
- entryPoint: ProcPtr; { to call back to HyperCard }
- request: INTEGER;
- result: INTEGER;
- inArgs: ARRAY[1..8] OF LongInt;
- outArgs: ARRAY[1..4] OF LongInt;
- END;
-
- XWEventInfoPtr = ^XWEventInfo;
- XWEventInfo = RECORD
- event: EventRecord;
- eventWindow: WindowPtr;
- eventParams: ARRAY[1..9] OF LongInt;
- eventResult: Handle;
- END;
-
- XTalkObjectPtr = ^XTalkObject;
- XTalkObject = RECORD
- objectKind: INTEGER; { stack, bkgnd, card, field, or button }
- stackNum: LongInt; { reference number of the source stack }
- bkgndID: LongInt;
- cardID: LongInt;
- buttonID: LongInt;
- fieldID: LongInt;
- END;
-
- CheckPtHandle = ^CheckPtPtr;
- CheckPtPtr = ^CheckPts;
- CheckPts = RECORD
- checks: ARRAY[1..maxCachedChecks] OF INTEGER;
- END;
-
-
- (**** HyperTalk Utilities ****)
- FUNCTION EvalExpr(paramPtr: XCmdPtr; expr: Str255): Handle;
- PROCEDURE SendCardMessage(paramPtr: XCmdPtr; msg: Str255);
- PROCEDURE SendHCMessage(paramPtr: XCmdPtr; msg: Str255);
- PROCEDURE RunHandler(paramPtr: XCmdPtr; handler: Handle);
-
- (**** Memory Utilities ****)
- FUNCTION GetGlobal(paramPtr: XCmdPtr; globName: Str255): Handle;
- PROCEDURE SetGlobal(paramPtr: XCmdPtr; globName: Str255; globValue: Handle);
- PROCEDURE ZeroBytes(paramPtr: XCmdPtr; dstPtr: Ptr;longCount: LongInt);
-
- (**** String Utilities ****)
- PROCEDURE ScanToReturn(paramPtr: XCmdPtr; VAR scanPtr: Ptr);
- PROCEDURE ScanToZero(paramPtr: XCmdPtr; VAR scanPtr: Ptr);
- FUNCTION StringEqual(paramPtr: XCmdPtr; str1,str2: Str255): BOOLEAN;
- FUNCTION StringLength(paramPtr: XCmdPtr; strPtr: Ptr): LongInt;
- FUNCTION StringMatch(paramPtr: XCmdPtr; pattern: Str255; target: Ptr): Ptr;
- PROCEDURE ZeroTermHandle(paramPtr: XCmdPtr; hndl: Handle);
-
- (**** String Conversions ****)
- PROCEDURE BoolToStr(paramPtr: XCmdPtr; bool: BOOLEAN; VAR str: Str255);
- PROCEDURE ExtToStr(paramPtr: XCmdPtr; num: Extended80; VAR str: Str255);
- PROCEDURE LongToStr(paramPtr: XCmdPtr; posNum: LongInt; VAR str: Str255);
- PROCEDURE NumToHex(paramPtr: XCmdPtr; num: LongInt; nDigits: INTEGER; VAR str: Str255);
- PROCEDURE NumToStr(paramPtr: XCmdPtr; num: LongInt; VAR str: Str255);
- FUNCTION PasToZero(paramPtr: XCmdPtr; str: Str255): Handle;
- PROCEDURE PointToStr(paramPtr: XCmdPtr; pt: Point; VAR str: Str255);
- PROCEDURE RectToStr(paramPtr: XCmdPtr; rct: Rect; VAR str: Str255);
- PROCEDURE ReturnToPas(paramPtr: XCmdPtr; zeroStr: Ptr; VAR pasStr: Str255);
- FUNCTION StrToBool(paramPtr: XCmdPtr; str: Str255): BOOLEAN;
- FUNCTION StrToExt(paramPtr: XCmdPtr; str: Str255): Extended80;
- FUNCTION StrToLong(paramPtr: XCmdPtr; str: Str255): LongInt;
- FUNCTION StrToNum(paramPtr: XCmdPtr; str: Str255): LongInt;
- PROCEDURE StrToPoint(paramPtr: XCmdPtr; str: Str255; VAR pt: Point);
- PROCEDURE StrToRect(paramPtr: XCmdPtr; str: Str255; VAR rct: Rect);
- PROCEDURE ZeroToPas(paramPtr: XCmdPtr; zeroStr: Ptr; VAR pasStr: Str255);
-
- (**** Field Utilities ****)
- FUNCTION GetFieldByID(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER): Handle;
- FUNCTION GetFieldByName(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Str255): Handle;
- FUNCTION GetFieldByNum(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER): Handle;
- PROCEDURE SetFieldByID(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER; fieldVal: Handle);
- PROCEDURE SetFieldByName(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Str255; fieldVal: Handle);
- PROCEDURE SetFieldByNum(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER; fieldVal: Handle);
- FUNCTION GetFieldTE(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID,fieldNum: INTEGER;
- fieldNamePtr: StringPtr): TEHandle;
- PROCEDURE SetFieldTE(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID,fieldNum: INTEGER;
- fieldNamePtr: StringPtr; fieldTE: TEHandle);
-
- (**** Miscellaneous Utilities ****)
- PROCEDURE BeginXSound(paramPtr: XCmdPtr; window: WindowPtr);
- PROCEDURE EndXSound(paramPtr: XCmdPtr);
- FUNCTION GetFilePath(paramPtr: XCmdPtr; fileName: Str255; numTypes: INTEGER; typeList: SFTypeList;
- askUser: BOOLEAN; VAR fileType: OSType; VAR fullName: Str255): BOOLEAN;
- PROCEDURE GetXResInfo(paramPtr: XCmdPtr; VAR resFile: INTEGER; VAR resID: INTEGER;
- VAR rType: ResType; VAR name: Str255);
- PROCEDURE Notify(paramPtr: XCmdPtr);
- PROCEDURE SendHCEvent(paramPtr: XCmdPtr; event: EventRecord);
- PROCEDURE SendWindowMessage(paramPtr: XCmdPtr; windPtr: WindowPtr;
- windowName: Str255; msg: Str255);
- FUNCTION FrontDocWindow(paramPtr: XCmdPtr): WindowPtr;
- FUNCTION StackNameToNum(paramPtr: XCmdPtr; stackName: Str255): LongInt;
- FUNCTION ShowHCAlert(paramPtr: XCMDPtr; dlgID: INTEGER; promptStr: Str255): INTEGER;
-
- (**** Creating and Disposing XWindoids ****)
- FUNCTION NewXWindow(paramPtr: XCmdPtr; boundsRect: Rect; title: Str255; visible: BOOLEAN;
- procID: INTEGER; color: BOOLEAN; floating: BOOLEAN): WindowPtr;
- FUNCTION GetNewXWindow(paramPtr: XCmdPtr; templateType: ResType; templateID: INTEGER;
- color: BOOLEAN; floating: BOOLEAN): WindowPtr;
- PROCEDURE CloseXWindow(paramPtr: XCmdPtr; window: WindowPtr);
-
- (**** XWindoid Utilities ****)
- PROCEDURE HideHCPalettes(paramPtr: XCmdPtr);
- PROCEDURE ShowHCPalettes(paramPtr: XCmdPtr);
- PROCEDURE RegisterXWMenu(paramPtr: XCmdPtr; window: WindowPtr; menu: MenuHandle; registering: BOOLEAN);
- PROCEDURE SetXWIdleTime(paramPtr: XCmdPtr; window: WindowPtr; interval: LongInt);
- PROCEDURE XWHasInterruptCode(paramPtr: XCmdPtr; window: WindowPtr; haveCode: BOOLEAN);
- PROCEDURE XWAlwaysMoveHigh(paramPtr: XCmdPtr; window: WindowPtr; moveHigh: BOOLEAN);
- PROCEDURE XWAllowReEntrancy(paramPtr: XCmdPtr; window: WindowPtr; allowSysEvts: BOOLEAN; allowHCEvts: BOOLEAN);
-
- (**** Text Editing Utilities ****)
- PROCEDURE BeginXWEdit(paramPtr: XCmdPtr; window: WindowPtr);
- PROCEDURE EndXWEdit(paramPtr: XCmdPtr; window: WindowPtr);
- FUNCTION HCWordBreakProc(paramPtr: XCmdPtr): ProcPtr;
- PROCEDURE PrintTEHandle(paramPtr: XCmdPtr; hTE: TEHandle; header: StringPtr);
-
- (**** Script Editor support ****)
- FUNCTION GetCheckPoints(paramPtr: XCmdPtr): CheckPtHandle;
- PROCEDURE SetCheckPoints(paramPtr: XCmdPtr; checkLines: CheckPtHandle);
- PROCEDURE FormatScript(paramPtr: XCmdPtr; scriptHndl: Handle;
- VAR insertionPoint: LongInt; quickFormat: BOOLEAN);
- PROCEDURE SaveXWScript(paramPtr: XCmdPtr; scriptHndl: Handle);
- PROCEDURE GetObjectName(paramPtr: XCmdPtr; object: XTalkObjectPtr; VAR objName: Str255);
- PROCEDURE GetObjectScript(paramPtr: XCmdPtr; object: XTalkObjectPtr; VAR scriptHndl: Handle);
- PROCEDURE SetObjectScript(paramPtr: XCmdPtr; object: XTalkObjectPtr; scriptHndl: Handle);
-
- (**** Debugging Tools support ****)
- PROCEDURE AbortScript(paramPtr: XCmdPtr);
- PROCEDURE GoScript(paramPtr: XCmdPtr);
- PROCEDURE StepScript(paramPtr: XCmdPtr; stepInto: BOOLEAN);
- PROCEDURE CountHandlers(paramPtr: XCmdPtr; VAR handlerCount: INTEGER);
- PROCEDURE GetHandlerInfo(paramPtr: XCmdPtr; handlerNum: INTEGER; VAR handlerName: Str255;
- VAR objectName: Str255; VAR varCount: INTEGER);
- PROCEDURE GetVarInfo(paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER;
- VAR varName: Str255; VAR isGlobal: BOOLEAN; VAR varValue: Str255;
- varHndl: Handle);
- PROCEDURE SetVarValue(paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER;
- varHndl: Handle);
- FUNCTION GetStackCrawl(paramPtr: XCmdPtr): Handle;
- PROCEDURE TraceScript(paramPtr: XCmdPtr; traceInto: BOOLEAN);
-
-
- {$ENDC} { UsingHyperXCmd }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-